// 创建一个新的中间件：app/middleware/checkadmin.js
function checkadmin() {
    return async function (ctx, next) {
        try {
            // 确保用户已通过token验证
            if (!ctx.state.type) {
                ctx.body = {
                    code: 1,
                    data: null,
                    msg: '未认证的请求'
                }
                return;
            }

            // 检查是否为管理员类型或具有admin_id
            if (ctx.state.type === 'admin' || ctx.state.admin_id) {
                await next();
            } else {
                ctx.body = {
                    code: 1,
                    data: null,
                    msg: '需要管理员权限'
                }
            }
        } catch (error) {
            ctx.body = {
                code: 1,
                data: null,
                msg: '权限验证失败'
            }
        }
    }
}

module.exports = checkadmin;